package xyz.ssf.cloud.project.system.service;

import xyz.ssf.cloud.project.system.domain.SysUser;
import xyz.ssf.cloud.project.system.domain.vo.LoginRequestVo;
import xyz.ssf.cloud.project.system.domain.vo.LoginUserVo;

import java.util.Map;

/**
 * 登录验证方法
 * 
 * @author ssf
 */
public interface ISysLoginService {
    
    /**
     * 登录验证
     * 
     * @param loginRequest 登录信息
     * @return 结果
     */
    public String login(LoginRequestVo loginRequest);
    
    /**
     * 获取用户信息
     * 
     * @return 用户信息
     */
    public LoginUserVo getLoginUser();
    
    /**
     * 退出登录
     */
    public void logout();
    
    /**
     * 获取验证码
     * 
     * @return 验证码信息
     */
    public Object getCaptcha();
    
    /**
     * 生成token
     * 
     * @param param 参数
     * @return token
     */
    public String generateToken(Map<String, Object> param);
    
    /**
     * 创建登录用户
     * 
     * @param user 用户信息
     * @return 登录用户信息
     */
    public LoginUserVo createLoginUser(SysUser user);
} 